#pragma once
#include "node.h"
#include <vector>

using namespace std;

enum Operationtype {Conjunction, Disjunction, Quantifier, Grouping, Submask, Interval};

class Node_operation :
	public Node
{
public:
	Node_operation(void);
	~Node_operation(void);
	Node_operation(const string & data, const unsigned int & id, const Nodetype & type, const unsigned short & arity);

	vector<Node *>& GetChilds();
	const unsigned short& GetArity() const;
	void operator=(Node_operation & other);

private:
	unsigned short Arity;
	vector<Node *> Childs;
	Operationtype type;
};